package dat02;

import java.util.Objects;

public class Person {
    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", gender='" + gender + '\'' +
                ", salary=" + salary +
                '}';
    }

    /**
     * 定义私有属性:
     * String name;
     * int age;
     * String gender;
     * int salary;
     * 定义全参数(该构造方法的参数用于设置所有属性)构造方法与默认构造方法
     * 重写toString方法，返回字符串格式如:"张三,25,男,5000"
     * 重写equals方法，要求名字相同就认为内容一致。
     *
     * @author Admin
     */
    private String name;
    private int age;
    private String gender;
    private int salary;
    @Override
    public boolean equals(Object o) {

        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person p = (Person) o;
        return Objects.equals(name, p.name);
    }
    @Override
    public int hashCode() {
        return Objects.hash(name);
    }
    public Person() {

    }

    public Person(String name, int age, String gender, int salary) {
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.salary = salary;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getSalary() {
        return salary;
    }

    public void setSalary(int salary) {
        this.salary = salary;
    }
}


